新奥资料免费精准期期准,2024新澳天天资料免费大全,澳门六开彩天天正版免费,澳门天天六开彩正版澳门,最准一肖一码一一中特

您的位置:首页技术文章

VUE使用ElementUI下拉框 @change事件数据不回显问题

浏览:2日期:2023-02-12 11:11:27
目录
  • 使用ElementUI下拉框 @change事件数据不回显
    • 问题
    • 解决方案
  • VUE下拉框数据及数据回显问题
    • 总结

      使用ElementUI下拉框 @change事件数据不回显

      问题

      在VUE中使用ElementUI的el-select下拉框,它是通过接口异步获取的下拉框数据,选择某一个值后,虽然在绑定的 @change 事件中能够看到已赋值成功,控制台输出也显示赋值操作完成数据变化,但是框上却没有显示选中的值。

      解决方案

      VUE它是无法监听动态新增的属性的变化,但是有一个方法可以为动态属性赋值,那就是$set。

      <template>
      ? <el-select
      ? ? v-model="value"
      ? ? multiple
      ? ? filterable
      ? ? allow-create
      ? ? default-first-option
      ? ? placeholder="请选择文章标签">
      ? ? @change="selectChange"
      ? ? <el-option
      ? ? ? v-for="item in options"
      ? ? ? :key="item.value"
      ? ? ? :label="item.label"
      ? ? ? :value="item.value">
      ? ? </el-option>
      ? </el-select>
      </template>
      ?
      <script>
      ? export default {
      ? ? data() {
      ? ? ? return {
      ? ? ? ? paper:[{
      ? ? ? ? ? ? title:"",
      ? ? ? ? ? ? author:""
      ? ? ? ? }]
      ? ? ? ? options: [{
      ? ? ? ? ? value: "1",
      ? ? ? ? ? label: "HTML"
      ? ? ? ? }, {
      ? ? ? ? ? value: "2",
      ? ? ? ? ? label: "CSS"
      ? ? ? ? }, {
      ? ? ? ? ? value: "3",
      ? ? ? ? ? label: "JavaScript"
      ? ? ? ? }],
      ? ? ? ? value: []
      ? ? ? }
      ? ? },methods{
      ? ? ? ? // 操作下拉框选中事件
      ? ? ? ? selectChange(val) {
      ? ? ? ? ? ? const title = this.options.find(item=>item.value===val).label ??
      ? ? ? ? ? ? this.$set(this.paper, this.paper.title, title) ? ?
      ? ? ? ? }
      ? ? }
      ? }
      </script>

      VUE下拉框数据及数据回显问题

      下拉框默认显示第一个数据,及获取下拉框中选择的任意数据:

      <label>类型:</label>
      ?<select v-model="value_type" @change="getvalue_typeected(value_type)">
      ? ?<option :value="item" v-for="item in types" :key="item">{{
      ? ? ?item
      ? ?}}</option>
      ?</select>
      
      export default {
      ?? ?data(){
      ?? ??? ?return {
      ?? ??? ??? ?value_type: "",
      ? ? ? ?? ??? ?types: ["STRING", "BOOLEAN", "INTEGER","DATETIME","DATE"],
      ?? ??? ?}
      ?? ?},
      ?? ?created(){
      ?? ? ? ?//下拉框默认显示第一个
      ?? ??? ?this.value_type = this.types[0];
      ?? ?},
      ?? ?methods:{
      ?? ??? ?getvalue_typeected(val) {
      ?? ? ? ? ?this.value_type = val;
      ?? ? ? ?},
      ?? ?}
      }

      下拉框数据回显:

      getCurIdData() {
      ? this.$http
      ? ? .get(`/api/${id}`)
      ? ? .delegateTo(api_request)
      ? ? .then((data) => {
      ? ? ? this.value_type= data.value_type;
      ? ? });
      }

      总结

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

      标签: JavaScript