问题标签 [laravel-livewire]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
laravel - Livewire 组件的属性未按预期更新
问题在于表单的上下文以编辑角色的属性,包括通过复选框选择的相关权限。
加载表单后,某些权限的复选框会根据检索到的角色数据按预期显示。可以选择和取消选择空复选框,并且更改会反映在浏览器的请求负载预览数组中,尽管添加的新值在数组中显示为字符串,如您所见:
但是,这就是问题所在,当取消选择加载表单时默认选中的复选框时,它们的行为很奇怪,不允许取消选择多个,并且浏览器的请求有效负载预览上的数组根本不会更新。
Laravel 视图:
活线控制器:
实时线视图:
<x-input.checkboxes /> Laravel 组件视图:
Laravel 版本:^7.0
Livewire 版本:^1.3
更新:我只是摆脱了 <x-input.checkboxes /> Laravel 组件视图并重构了 Livewire 视图中的所有相关代码,但它也不起作用。相同的行为。我在这一点上被 Livewire 困住了。
解决了。我仍然爱着 Livewire。我真的不想学习 Javascript 框架。
php - Laravel-livewire:为什么触发事件会执行 render() 方法?
这是 Laravel 的 Livewire 框架
HTML:
PHP:
单击按钮调用 showPostAddedMessage() 并在此之后调用 render()。如何在不调用 render() 的情况下监听事件?
laravel - 为什么模态不会在 laravel livewire 中关闭?
我正在使用 laravel livewire 删除两个表中的记录,问题是模式,正在删除记录但模式仍然显示。
奇怪的是,当我注释其中一行代码以删除数据时,它起作用了!
我正在使用 Bootstrap 4.1
这是我的功能:
这是从 livewire 关闭模式的脚本:
请帮帮我!!
javascript - 在 livewire 组件中自动打开模态它不起作用
我想在初始化组件时显示一个模态,但它不起作用。我$this->emit('show)
用来打开模态
当我在我的视图中添加一个按钮时,emit('show')
工作!但我不想要那个,我想要的是当视图加载时,模式会自动显示
这是我的组件:
这是我认为的脚本;
这是我的模态:
laravel-routing - 在 livewire 中如何按其名称使用路由?
在我的 laravel 7 /livewire 1.3 / turbolinks:5 / alpine@v2 应用程序中,我定义了路由
当我使用它时:
它不像反应式那样工作,因为所有页面都被重新加载。我更喜欢命名这条路线,而不是:
哪个是有效的方法?
谢谢!
laravel-livewire - 在编辑任何输入时呈现数据表单列表?
使用 livewire 1.3 / alpinejs 2.xx 我使用过滤器文本和选择输入列出数据并单击“搜索”按钮单击“搜索”按钮时我需要运行搜索。但是当文本/选择输入失去焦点而不点击“搜索”按钮时,搜索就会运行。我通过表单的线:加载块和日志文件中的 1 行看到它,我在渲染方法中触发这不是我需要的:我只需要单击“搜索”按钮运行渲染方法。我尝试使用 alpinejs,但失败了......在组件 app/Http/Livewire/Admin/AppNews.php 我有:
并在模板 resources/views/livewire/admin/app-news/container.blade.php 中:
哪个是有效的方式?
修改块 2:
我尝试使用 alpinejs2 的另一种方式:我尝试在这种情况下使用它,因为当组件的公共 var 发生更改时:单击“搜索”按钮时使用调度方法
在组件中我定义了 public $filter_name var,它用于渲染方法:
但它不像我预期的那样工作:当再次呈现此输入失去焦点表单时,在文本输入中输入值。我希望只有当我单击“搜索”按钮时才会呈现表单,并且表单将使用新输入的值呈现。我不使用模糊事件进行文本输入,也不明白为什么当输入失去焦点时会呈现表单?
修改块 3: 使用 x-ref= 我这样做:
但我点击搜索按钮时出错:
看起来不可能使用 this.$refs。价值在
我需要触发组件方法
并将输入的值发送到其中。看起来我尝试的方式无效。如果有有效的方法?
谢谢!
php - 如何从应用布局中的 laravel-livewire 组件访问声明的变量
我尝试从 livewire 组件传递一个变量:
并从 layouts.app 访问它:
我收到一个$type
未定义的错误,这样做的正确方法是什么?
flatpickr - 如何在 livewire / alpinejs 应用程序中使 flatpickr datepicker 反应?
在我的 laravel 7 /livewire 1.3 / alpinejs 2 项目中,我从https://flatpickr.js.org添加了 flatpickr datepicker datepicker 工作正常,但反应性不起作用。在 $current_operation_date 下面的代码中 - 组件中的公共 var 被修改了,但是在选择 datepicker 值时 alpine var operation_date 没有改变:
如果有办法让它反应?
谢谢!
javascript - 为什么我的脚本不能在 AJAX 刷新时运行?
我正在为我的项目开发头像上传器。到目前为止一切都很好,今天早上我没有任何问题。过了一会儿,BOOM。死亡和毁灭。很悲伤。
当我第一次选择一个文件时,它会立即弹出裁剪工具,并且工作正常。如果我尝试上传不同的文件,裁剪工具就会消失,甚至不会显示图像的预览。
我的系统如何工作?我使用 Laravel 框架作为后端,并使用 Laravel Livewire 包作为前端功能。Livewire 允许我用 PHP 编写类似 Vue 的组件。
这是我正在处理的表格。它也是每次 Livewire 在输入中看到新文件时刷新的组件。
我正在为裁剪工具使用 Croppie JS 包。它要求我要么将它img
附加到的元素传递给它,要么传递给它以适应的容器。我选择了一个容器,这样我就可以控制裁剪工具的大小。当我将图像上传到输入时,Livewire 将获取图像,验证它是图像并且没有传递特定大小,然后将图像上传到临时目录。回显该$image->temporaryUrl()
临时文件的路径。当文件上传完成并且临时图像准备好后,Livewire 通过 AJAX 仅刷新组件。此时,我尝试创建一个新的 Croppie 实例,将其附加到我的预览容器,并将临时图像绑定到它。
这适用于第一个文件上传!然后,当我尝试更改文件(作为用户可能)时,整个实例就会消失。我试图检查并查看再次实例化 Croppie 是否存在问题,因为在我看来,如果组件被刷新,创建该工具的新实例应该不是问题。
第一次上传时会出现“未定义”和“完成”日志,但刷新时没有任何反应。
所以我也测试了这样做......
至少确保预览正常工作,你瞧!
最大的问题是即使 Croppie 没有刷新,也不会出现错误或警告。它似乎根本没有执行<script>
标签中的内容。
任何提示或建议?