我想要下拉选项改成数据库字典,但是异步得到数据后,replaceValue怎么都不能渲染

求助下拉选项replaceValue异步方式的示例

已采纳
涂小色
涂小色
这家伙很懒,什么也没写~
1年前
    baTable.table.ref = tableRef.value
    baTable.mount()
    getDictList().then((res) => {
        pageData.dictList = Object.assign({}, res.data.aged_dict, res.data.sys_dict)
        baTable.table.column.forEach((item) => {
            if (pageData.dictList[item.prop]) {
                item.replaceValue = pageData.dictList[item.prop]
            }
        })
        baTable.table.extend = { dictList: pageData.dictList }
        baTable.getIndex()?.then(() => {
            baTable.initSort()
            baTable.dragSort()
        })
    })
})```
贴一段代码,请求到字典后修改baTable.table.column
1个回答默认排序 投票数排序
妙码生花
妙码生花
这家伙很懒,什么也没写~
1年前

在vue开发中,有个很关键和基础的点:组件的key属性改变时,组件将自动重新渲染

<FormItem
    :key="state.stateKey"
    :label="t('State')"
    v-model="baTable.form.items!.status"
    type="radio"
    :data="{ content: state.stateContent, childrenAttr: { border: true } }"
/>
import { reactive } from 'vue'

const state: {
    stateKey: string
    stateContent: anyObj
} = reactive({
    stateKey: uuid(),
    stateContent: { '0': t('Disable'), '1': t('Enable') }
})

getData().then((res) => {
    // 新的 content 赋值
    state.stateContent = { '0': '请求来的新选项0', '1': '请求来的新选项1' }

    // 改变组件key触发重新渲染
    state.stateKey = uuid()
})
请先登录
0
1
0
2