Vue3 render函数创建的按钮怎么添加自定义指令
h( NButton, { quaternary: true, size: 'small', type: 'info', text: true, onClick: () => CreateLetter(row), directives: [ { name: 'isAuth', value: '项目管理-创建函证', } ], }, { default: () => '创建函证' } ),
在template中直接写是可以的
<n-button type="info" @click="createProject" style="margin-bottom:30px;" v-isAuth="'项目管理-创建项目'"> 创建项目 </n-button>
这样的话 正常显示
在 Vue 3 的 render 函数中,你不能直接在组件的属性中添加自定义指令,但你可以通过使用 v-bind
指令来动态地绑定自定义指令到元素上。
下面是如何在 render 函数中为按钮添加自定义指令的示例:
import { createComponent } from 'vue'export default { setup() { const createComponentInstance = (tag, props, children) => { const component = createComponent(tag) return component.createVNode(props, children) } const renderButton = () => { const buttonProps = { quaternary: true, size: 'small', type: 'info', text: true, onClick: () => CreateLetter(row), } const buttonNode = createComponentInstance('n-button', buttonProps) // 添加自定义指令到按钮节点上 buttonNode.directives = [ { name: 'isAuth', value: '项目管理-创建函证', } ] return buttonNode } return { renderButton } }, // ...其他组件代码...}
在上面的示例中,renderButton
函数创建了一个 n-button
组件的虚拟节点,并使用 directives
属性添加了自定义指令。然后,你可以在模板中使用 renderButton
函数来渲染按钮。
请注意,在模板中使用 v-isAuth
指令时,你需要在值中传递一个字符串。而在 render 函数中,自定义指令的值是一个对象。因此,如果你想在 render 函数中使用与模板相同的值,你需要将自定义指令的值包装在一个对象中。
主要内容:实例,实例,钩子,实例,实例,实例除了默认设置的核心指令( v-model 和 v-show ), Vue 也允许注册自定义指令。 下面我们注册一个全局指令 v-focus, 该指令的功能是在页面加载时,元素获得焦点: 实例 <div id="app"> <p>页面载入时,input 元素自动获取焦点:</p> <input v-focus> </div> <script> const app = Vue.createApp({}
官方文档 如何我想用渲染函数生成一个下拉框,并且双向绑定到一个名为choose的ref上,该怎么写?
问题内容: 我想制作一个简单的表,其中包含一行自定义按钮。当按下按钮时,我想弹出一个“警告”框。我已经阅读了一些关于此的文章,我不明白为什么我的代码无法正常工作。绘制了按钮,但按下按钮无效。 我在这里描述了三种尝试。 版本1。单击按钮不会触发: HTML代码: 编辑8/2/12-自从我的原始文章以来,我已经学到了一些东西,在这里我描述了另外两次尝试。 版本2:我使用onCellSelect。这行得
每次点击都要获取最新的goodsId,当前这个写法只能获取初始的goodsId: 100,自定义指令无法获取到goodsId的最新值。 尝试过的方法: 1、在updated内再一次获取最新值,但是每次点击,事件会触发多次。 2、在vnode上获取最新值,同样无法获取到最新值。 在此想请教一下各位
本文向大家介绍asp.net-mvc 自定义助手-渲染提交按钮,包括了asp.net-mvc 自定义助手-渲染提交按钮的使用技巧和注意事项,需要的朋友参考一下 示例
我已经搜索并尝试了每个论坛和例子。 我正在Yii2中使用Kartik\DetailViwew,无法在buttons1选项中设置一个自定义按钮。 我正在处理的代码: 在的 根据http://demos.krajee.com/detail-view例子,有一种方法可以定制。但是没有例子。留档没有解释如何做到这一点。 有人能帮忙吗?