Heim > Web-Frontend > js-Tutorial > Wie generiert form-create dynamisch Vue-Komponenten? (Codebeispiel)

Wie generiert form-create dynamisch Vue-Komponenten? (Codebeispiel)

不言
Freigeben: 2019-01-18 10:28:51
nach vorne
3545 Leute haben es durchsucht

Der Inhalt dieses Artikels befasst sich mit der Frage, wie form-create Vue-Komponenten dynamisch generiert. (Codebeispiel) hat einen gewissen Referenzwert. Freunde in Not können darauf verweisen.

Beispiel

Wie generiert form-create dynamisch Vue-Komponenten? (Codebeispiel)

let rule = [
  {
    type:'row',
    children:[
      {
        type:'i-col',
        props:{
          span:12
        },
        children:[
          formCreate.maker.input('商品名称','goods_name','iphone'),
          formCreate.maker.number('商品加个','goods_price',8688)
        ]
      },
      {
        type:'i-col',
        props:{
          span:12
        },
        children:[
          formCreate.maker.dateTime('创建时间','create_at'),
          formCreate.maker.radio('是否显示','is_show').options([
            {value:1,label:'显示'},
            {value:0,label:'不显示'}
          ])
        ]
      }
    ]
  }
]
Nach dem Login kopieren

maker.create

Benutzerdefinierte Komponenten durch Erstellen eines virtuellen DOM generieren

Generieren

Maker

let rule = [
  formCreate.maker.create('i-button').props({
    type:'primary',
    field:'btn'
    loading:true
  })
]
$f = formCreate.create(rule);
Nach dem Login kopieren

Der obige Code dient zum dynamischen Generieren einer Lade-maker-Schaltflächenkomponente über den oben genannten iview

Generator

Json

let rule = [
  {
    type:'i-button',
    field:'btn'
    props:{
        type:'primary',
        field:'btn',
        loading:true
    }
  }
]
$f = formCreate.create(rule);
Nach dem Login kopieren
json. Der Code dient dazu Generieren Sie dynamisch eine iview-Schaltflächenkomponente über die Methode

Ändern

Sie können die Konfigurationselemente der Komponente auf die folgenden zwei Arten dynamisch ändern Regeln Komponentengenerierungsregeln

rule[0].props.loading = false;
Nach dem Login kopieren

Rufen Sie die Komponentengenerierungsregeln über die

-Methode ab und ändern Sie sie

$f.component().btn.props.loading = false;
Nach dem Login kopieren
$f.component()maker.template

Generieren Sie benutzerdefinierte Komponenten über Vorlagen.

Die method ist der Alias ​​der Methode

maker.createTmpGenerate

Maker

let rule = [
  formCreate.maker.template(&#39;<i-button :loading="loading">{{text}}<i-button>&#39;,new Vue({
    data:{
      loading:true,
      text:&#39;正在加载中...&#39;
    }
  }))
]
Nach dem Login kopieren

Der obige Code dient zum dynamischen Generieren einer Lade-

-Schaltflächenkomponente <🎜 über den

-Generator >makerJsoniview

let rule = [
  {
    type:&#39;template&#39;,
    template:&#39;<i-button :loading="loading">{{text}}<i-button>&#39;,
    vm:new Vue({
      data:{
        loading:true,
        text:&#39;正在加载中&#39;
      }
    })
  }
]
$f = formCreate.create(rule);
Nach dem Login kopieren

Der obige Code generiert dynamisch eine

-Schaltflächenkomponente über die

-Methode.

JsonÄnderungiview

kann im Folgenden dynamisch geändert werden Zwei Möglichkeiten:

Der Wert innerhalb der Komponente

erhält den vm der benutzerdefinierten Komponente durch

und ändert

rule[0].vm.text = &#39;加载完毕&#39;;
rule[0].vm.loading = false;
Nach dem Login kopieren
rule erhält den vm der benutzerdefinierten Komponente durch

Methode und Änderungen

$f.component().btn.vm.text = &#39;加载完毕&#39;;
$f.component().btn.vm.loading = false;
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie generiert form-create dynamisch Vue-Komponenten? (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage