Peek 定义 (Alt+F12) 在 Visual Studio 中不再执行任何操作
虽然 Goto Definition 按 F12 键按预期工作, 用于查看定义的热键 Alt+F12 不再执行任何操作。 如何恢复 Alt+F12 功能?
我使用以下代码让用户选择表单上的多个位置。 @Html.DropDownListFor(m => m.location_code, Model.location_type, new { @class = "form-control", @multiple = "mul...
我正在尝试在本机反应中实现MultiSelect。我已从此链接“ https://github.com/toystars/react-native-multiple-select ”引用。但不幸的是我是 无法...
我是原生反应新手。任何人都可以建议我如何在本机反应中实现多个选择下拉菜单。我已经尝试过 MultiSelect (https://github.com/toystars/react-native-multiple-select) 从...
我有一个数据框,想检查每一行我的条件是否正确。如果 multiple 为真,我想用 np.select 返回所有这些选择。我怎样才能做到这一点? df = pd。
我在我的项目中使用Ant设计。对于文件上传,我使用 Ant Design 的 Dragger。 问题是,当我设置 multiple = false 和 maxCount = 1 时,我可以拖动多个文件。虽然它是随机的
如何从浏览器中的 JavaScript Error 对象获取源映射堆栈?
当我创建 err = new Error("test-error") 和 console.log(err) 时,我可以使用开发人员控制台中的源映射看到映射到原始源的堆栈。 但是当我读到错误时...
我最近将cuda从9.0升级到10.2,但是当我成功升级时,我的演示如下,将默认出现“RuntimeError: NCCL Error 2: unhandled system error”。 我不知道为什么,而且...
这是我的反应本机选择器的代码。 我想获取所选 json 数组的所有值。 我想提供多项选择。 这是我的反应本机选择器的代码。 我想获取所选 json 数组的所有值。 我想提供多项选择。 <Picker mode="dropdown" style={styles.droplist} selectedValue={this.state.mode} onValueChange={this.funcValueChanged}> <Picker.Item label="Select Company" value="Select Company" /> { this.state.data.map((item, key) => ( <Picker.Item label={item.Co_Name + ' (' + item.CompCode + ')'} value={key} key={key} /> ))) } </Picker> 您可以用于单选/多选 从“react-native-dropdown-picker”导入 DropDownPicker; <DropDownPicker items={getAllStates} searchable={true} searchablePlaceholder="Search for an item" searchablePlaceholderTextColor="gray" placeholder="Select States" placeholderTextColor={"grey"} multiple={true} multipleText="%d items have been selected." containerStyle={{ marginTop: 8, marginBottom: 8, width: "92%", alignSelf: "center", }} onChangeItem={item => { } } /> 这里使用的包是@react-native-picker/picker,不支持多选。 GitHub 问题 请使用 npm i react-native-multiple-select 来代替。 尝试这个轻量级且完全可定制的包**rn-multipicker** - https://www.npmjs.com/package/rn-multipicker 完整文章:https://dev.to/rahul04/add-multi-select-dropdown-to-react-native-applications-53ef
函数 fetchBooks() { fetch('圣经书.php') .then(响应=> { 如果(!response.ok){ throw new Error('网络响应不正常'); } 返回response.json(); ...
如何在异步代码中使用panic::catch_unwind?
使用同步代码时,我可以像这样使用panic::catch_unwind: #[actix_rt::测试] 异步 fn test_sync() -> 结果<(), Error> { println!("catch_unwind 之前"); ...
next.js 14 错误:无法读取未定义的属性(读取“get”)”
官方示例https://github.com/vercel/next.js/tree/canary/examples/next-forms在createTodo时出现错误“Error: Cannot readproperties of undefined (reading 'get')”。但是……
我的 MySQL 存储过程因 Mysql::Error: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '=' 而失败。 在 SELECT 子句中时该过程失败...
帮助修复奇怪的sqlite3错误 - dyld:未加载库:/usr/lib/libsqlite3.0.dylib
我突然收到 sqlite3 错误: ActionView::Template::Error(dyld:未加载库:/usr/lib/libsqlite3.0.dylib 引用自:/System/Library/Frameworks/CoreServices.framework/Versio...
如何根据同一类中的另一个常量定义一个类常量? A类{ const BASE_URL = 'http://example.org' 常量 API_URL = BASE_URL 。 '/api'; // < error }
badStream.pipe(res) 当 badStream 抛出错误时,响应不会终止,浏览器中的请求会陷入待处理状态。 badStream.on(error, function() {this.end()}).pipe(re...
我有一个返回结果的函数<(), Box>。我正在为此函数编写一个测试用例,其中该函数应返回变体VerifyError::LinearCombination 的错误...
我尝试在 Angular 17 中使用 NG Block UI 并收到此错误 ng block ui error in Angular 17 知道这个模块在 Angular 17 中如何工作吗? 提前致谢 我使用 npm i ng-
将 Xamarin UWP 应用程序升级到毛伊岛后,新更新拒绝安装
这几乎正是我所发生的事情:https://learn.microsoft.com/en-us/answers/questions/1000760/migrate-uwp-app-to-maui-windows-error-after-更新?评论=问题#最新问题-
为什么在Windows环境下Apache IoTDB中运行`pip install`后出现`failed to build thrift`错误?
pip install apache-iotdb工具不支持Windows环境吗?在Windows中运行pip install apache-iotdb==0.13.0.post1后,出现错误消息:Failed to build thrift, ERROR: Could ...
默认情况下,ASP.NET Core 中的输入验证使用类 input-validation-error,但 Bootstrap 5 使用 is-invalid。 我找到了一些解决方案: 创建样式 使用 jQuery.validate.unobtrusi...
如何使用 Result lib 处理 Void 成功案例(成功/失败)
简介: 我在我的应用程序的某些地方引入了结果框架(反典型)。例如,给定这个函数: func findItem(byId: Int, 完成: (Item?,Error?) -> ()); foo.findI...
我想从如下查询的表中查找手机号码的数量: 选择姓名,计数(手机号码)作为计数表中的计数,其中计数<=5 This query throws an error. How can I resolve this?
我正在创建一个 Javascript 记录器,在错误消息中,我还添加了堆栈跟踪,如下所示: 函数 logMessage(logMessage) { 让 stackTrace = new Error().stack; 日志消息。
如何在 Angular 中导入其他组件的 config.ts 文件
按照本教程,我创建了一个可重用的模态组件。模态本身是从其他组件显示的(带有错误 ERROR TypeError: ctx_r1.modalConfig is undefined),但我不能
Vite React ASP.NET部署到Azure后出现HTTP ERROR 404看不到索引
我有一个客户端/服务器 ASP.NET React 项目。 在本地工作正常并使用以下方式导航到索引页面: const 路由器 = createBrowserRouter([ { 元素: ,
Spotify API {'error': 'invalid_client'} 授权代码流程 [400]
这是我向 https://accounts.spotify.com/api/token 发出 POST 请求的多次尝试之一。 范围设置为“播放列表修改公共、播放列表修改私有”。 我正在使用 Python 3.7,Djan...
Netflix dgs springboot UI http://localhost:8080/graphiql 不工作
尝试通过netflix-dgs实现graphql api。 获取资源未找到错误。 下面分享代码片段 出现以下错误 此应用程序没有 /error 的显式映射,因此您...
我在代码中遇到此错误:Swift/ContigeousArrayBuffer.swift:600: Fatal error: Index out of range
我正在构建一个测验应用程序,但收到此错误:Swift/ContigouslyArrayBuffer.swift:600:致命错误:索引超出范围。这是被标记的代码片段: choice2.setTitle(
我得到的错误是:data: { error: '必须提供jwt' } 当用户通过提供正确的电子邮件和密码登录时,用户将被重定向 到“/”页逻辑被写入...
我正在尝试在 docker compose 中运行 traefik 图像,它之前可以正常工作,但自从我拉取图像后,我从 docker compose log traefik 获得的唯一日志是 command traefik error: field not
ESLint 错误:带有建议的规则必须将 `meta.hasSuggestions` 属性设置为 `true`(无显式任何规则)
我正在尝试向 .eslintrc.json 添加规则以禁止任何类型。 我将规则 ("@typescript-eslint/no-explicit-any": "error") 添加到我的设置中: { “环境”:{ ...
我有这个问题: 从后端我得到格式为的日期:2022-05-20 (LocalDate) 当我想编辑表单上的日期时,出现错误:Internal Server Error Text '2023-04-29T22:00:00.0...
Flutter Firebase 初始化:Android 上的 PlatformException(null-error)
我正在开发适用于 Android 的 Flutter 应用程序,并在初始化 Firebase 时遇到问题。尽管遵循标准设置程序,但我在运行应用程序时不断收到错误。 错误描述:
将连接的字符串发送到函数并仅返回 Result::Error
我有一个带有一些函数的结构,当出现问题时,我调用函数 fn set_error(&self,msg:&str) 来记录错误并可能显示错误消息等。 目前这是 v...
检查结果中选项内的值是否满足 Rust 条件的最佳方法是什么?
我有一个返回 Result、Error> 之类的函数,我想检查是否存在值以及它是否与条件匹配。有两种简单的方法: 如果...
如何编写类型安全的函数签名来接受 amplify-js v6 graphql 订阅通知的回调函数?
使用版本 6.0.9 的 NPM 库 aws-amplify (不是 5.x.x!),我尝试将调用包装到 client.graphql({ query: typedGqlString, Variables}).subscribe({ next, error }),这样我就可以治疗...
Redhat Openshift 部署配置已停止工作并出现“Crashloop backoff error”[已关闭]
我们使用 RedHat Openshift 来托管和部署我们的应用程序。 一切都工作正常,直到最近使用 DeploymentConfig 的部署刚刚开始抛出“崩溃循环退避...
'。'宏参数列表中出现意外,在`#define error(args...)`中
我在 C++ 中使用这个定义来调试我的变量,它在 clion 和 codeblocks 中工作,但在 Visual Studio 22 中不起作用。 错误 C2010 '.':宏参数列表 codeforces 中出现意外 文件名是&
.$s['姓氏']. <div class="input-group col-sm-10"> <span class="input-group-addon col-sm-4 text-right border">.$s['Surname'].</span> <input id="msg" type="text" class="form-control col-sm-6" name="msg" placeholder="Enter Marks"> 嗨,我尝试使用 2 列,但是在手机上,控件的行为似乎有所不同 如何让控件在小屏幕上保持常规尺寸? 谢谢你。 当你在代码中说 col-sm-6 意味着从小尺寸(576px)开始采用这个尺寸 <div class="container-fluid"> <div class="row"> <div class="col-12 col-sm-8 col-md-6"></div> <div class="col-12 col-sm-4 col-md-6"></div> </div> </div> // <div class="col-12 col-sm-8 col-md-6"></div> 这段代码传达的概念是 col-12:通常占据所有小于small的列 col-sm-8:从小模式开始占据 8 列(576px) col-md-6:从中模式开始占据 6 列(768px) 我们还可以按需使用col-lg,这取决于我们的需求。 我希望我明白你的意思并且我能够很好地帮助你 你应该尝试下面的代码, <div class="container"> <div class="row"> <div class="col"> Here col is used for auto width (if row has multiple elements in column so col width will be adjusted automatically by dividing them) </div> </div> </div> 或 <div class="container"> <div class="row"> <div class="col-12"> Here col-12 is used so this will get entire width of the viewport (12 grids) as it is specified.. </div> <div class="col"> Here col is used so as above div has col-12 class so this col will get auto width and there is no more columns in this row so this will get 100% of width. </div> </div> </div> 注意:适用于移动设备等小型设备(<576px) only col is used and col itself uses all 12 grids but if we have multiple columns in row and we want to give different grids to them, then we have to specify as col-6, col-4, col-12 etc as per requirement... 有关更多详细信息,我已附加一些链接并仅供参考... 引导网格系统 谢谢... 阿拉普·乔希
我有一个对象特征,可以从某个索引提供字节。这些可能是文件、正在跟踪的进程、其他字节提供程序上的缓存等: 使用 std::结果::结果; 使用 std::io::Error ;
具有多个数据库的 postgresql 上的 Symfony 6 学说问题 SQLSTATE[42P01]:未定义的表:7 ERROR
我的 Symfony 项目(sf v6)使用 postgresql/postgis 和 2 个数据库:主要一个包含特定业务数据,第二个称为 Web 服务数据库,其中多个共享数据
早上好, 我有一个小问题来回显变量。也许你可以帮助我。谢谢! https://api.openligadb.de/index.html /getmatchdata/matchid 这有效: 早上好, 我在回显变量时遇到小问题。也许你可以帮助我。谢谢! https://api.openligadb.de/index.html /getmatchdata/matchid 这有效: <?php echo $match["team1"]["teamIconUrl"]; ?> 但是我无法获得比赛结果。 <?php echo $match["matchResults"]["pointsTeam1"]; ?> <?php // Retrieve the data for the current matchday from the OpenLigaDB API $url = sprintf("https://api.openligadb.de/getmatchdata/bl1", $current); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch); if ($output === false) { die("Error when requesting the API: " . curl_error($ch)); } curl_close($ch); // Decoding the API response $matches = json_decode($output, true); if ($matches === null) { die("Error processing API response: " . json_last_error_msg()); } ?> 像这样打印 <?php echo $match["matchResults"][0]["pointsTeam1"]; ?>
预呈现页面“/”时发生错误。阅读更多:https://nextjs.org/docs/messages/prerender-error 修改请求(不知道如何)
已经四天了,我仍然陷入困境。 关于这个问题我看到有人说使用axios,并设置超时。或者在获取数据时将 http 更改为 https,但这一切都是徒劳的...
spring-boot 应用程序中的错误:此应用程序没有 /error 的显式映射,因此您将其视为后备
我在 Eclipse 中创建了一个简单的 Spring Boot 应用程序,其中包含 User 类,并且我编写了 Web 服务来对 User 执行各种操作,例如获取用户、创建用户、删除用户。 什...
我正在 Magento 上使用 Hyva 主题和 AlpineJs,并使用 和所需的输入将产品添加到购物车。 这是表单代码的一部分: 我正在 Magento 上使用 Hyva 主题和 AlpineJs,并使用 <form> 以及所需的输入将产品添加到购物车。 这是表单代码的一部分: <form method="post" id="product_addtocart_form" > <input name="product" /> <input name="selected_configurable_option" /> <input name="related_product" /> <input name="item"> </form> 这是我用来提交表单的按钮: <button type="submit" form="product_addtocart_form"> Submit </button> 一切都很好。但是,我想添加一个模式,该模式在将产品添加到购物车后显示,但一旦添加产品,页面就会刷新。 我发现了很多类似的主题,但没有任何对我有用。我已经尝试过使用 event.preventDefault() 和 onsubmit="return false"。两者都不会刷新页面,但不会添加产品。 我还尝试使用 HTTP post 方法添加产品,这部分解决了问题,但是当涉及到添加具有可配置选项的产品时,它变得太复杂了。 对于我可以采取的在提交表单后停止刷新页面的方法,您有什么建议或想法吗? 尝试以下步骤: 向表单添加 @submit.prevent 指令以阻止默认的表单提交行为。 ` <form method="post" id="product_addtocart_form" @submit.prevent="submitForm"> <input name="product" x-model="product" /> <input name="selected_configurable_option" x-model="selectedConfigurableOption" /> <input name="related_product" x-model="relatedProduct" /> <input name="item" x-model="item" /> <button type="submit" form="product_addtocart_form"> Submit </button> </form> ` 并且 `<div x-show="showModal" @click.away="showModal = false" style="display: none;"> <div class="modal-content"> Product successfully added to the cart! <button @click="showModal = false">Close</button> </div> </div> ` 使用Fetch API进行AJAX请求,向服务器发出AJAX请求将产品添加到购物车,处理服务器响应并显示 如果产品添加成功,则为模态。 `function addToCart() { return { product: '', selectedConfigurableOption: '', relatedProduct: '', item: '', showModal: false, async submitForm() { const formData = new FormData(); formData.append('product', this.product); formData.append('selected_configurable_option', this.selectedConfigurableOption); formData.append('related_product', this.relatedProduct); formData.append('item', this.item); try { const response = await fetch('/path/to/your/add-to-cart/api', { method: 'POST', body: formData, headers: { 'Accept': 'application/json', }, }); if (response.ok) { const data = await response.json(); // Assuming the response contains a success flag or status if (data.success) { this.showModal = true; } else { // Handle error (e.g., show error message) console.error('Error adding product to cart:', data.message); } } else { console.error('Network response was not ok.'); } } catch (error) { console.error('Error:', error); } } }; }` 您可以使用 <div x-data="addToCart()"> 包裹整个模态框并使用 <form> 以便该功能正常工作。
嵌套 useFetch 导致 Nuxt 3 中的 Hydration 节点不匹配
在 Nuxt 3 页面内,我通过从 pinia 存储调用操作来获取帖子数据: {{ 发布数据 }} {{ 帖子内容... 在 Nuxt 3 页面内,我通过从 pinia 商店调用操作来获取帖子数据: <template> <div v-if="postData && postContent"> {{ postData }} {{ postContent }} </div> </template> <script setup> const config = useRuntimeConfig() const route = useRoute() const slug = route.params.slug const url = config.public.wpApiUrl const contentStore = useContentStore() await contentStore.fetchPostData({ url, slug }) const postData = contentStore.postData const postContent = contentStore.postContent </script> 那是我的商店: import { defineStore } from 'pinia' export const useContentStore = defineStore('content',{ state: () => ({ postData: null, postContent: null }), actions: { async fetchPostData({ url, slug }) { try { const { data: postData, error } = await useFetch(`${url}/wp/v2/posts`, { query: { slug: slug }, transform(data) { return data.map((post) => ({ id: post.id, title: post.title.rendered, content: post.content.rendered, excerpt: post.excerpt.rendered, date: post.date, slug: post.slug, })); } }) this.postData = postData.value; if (postData && postData.value && postData.value.length && postData.value[0].id) { const {data: postContent} = await useFetch(`${url}/rl/v1/get?id=${postData.value[0].id}`, { method: 'POST', }); this.postContent = postContent.value; } } catch (error) { console.error('Error fetching post data:', error) } } } }); 浏览器中的输出正常,但我在浏览器控制台中收到以下错误: entry.js:54 [Vue warn]: Hydration node mismatch: - rendered on server: <!----> - expected on client: div at <[slug] onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< undefined > > at <Anonymous key="/news/hello-world()" vnode= {__v_isVNode: true, __v_skip: true, type: {…}, props: {…}, key: null, …} route= {fullPath: '/news/hello-world', hash: '', query: {…}, name: 'news-slug', path: '/news/hello-world', …} ... > at <RouterView name=undefined route=undefined > at <NuxtPage> at <Default ref=Ref< undefined > > at <LayoutLoader key="default" layoutProps= {ref: RefImpl} name="default" > at <NuxtLayoutProvider layoutProps= {ref: RefImpl} key="default" name="default" ... > at <NuxtLayout> at <App key=3 > at <NuxtRoot> 如何解决这个问题? 我尝试在 onMounted 中获取帖子数据,但在这种情况下 postData 和 postContent 保持为空 onMounted(async () => { await contentStore.fetchPostData({ url, slug }) }) 您可以使用 ClientOnly 组件来消除该警告。请参阅文档了解更多信息。 该组件仅在客户端渲染其插槽。
我需要使用 v-for 显示 json 中的产品数组,但我无法这样做。 我正在尝试显示产品数组中的 json 数据,但它不起作用。 Vue.js 我需要使用 v-for 显示 json 中的产品数组,但我无法这样做。 我正在尝试显示产品数组中的 json 数据,但它不起作用。 Vue.js <div class="box" v-for="product in products" :key="product.id"> <h2>Produto {{ product.name }}</h2> <h3>Situação {{ product.situation }}</h3> </div> export default { data() { return { products: [], }; }, methods: { async getData() { try { const req = await fetch("http://localhost:3000/products"); const data = await req.json(); this.products = data.products; console.log("data" + data); } catch (error) { console.error("Error fetching data:", error); } }, mounted() { this.getData(); }, }, }; JSON: { "products": [ { "id": "a898", "name": "Claudio Romano", "situation": "Ativo" } ] } 您问错了问题,因为该问题与 JSON 无关。如果您对此进行调试,您会注意到 console.logs 不执行,这意味着问题更为根本,因为该方法本身并未实际运行。 根本问题是mounted()不应该在methods内部。您正在使用 Vue 的选项 API,其中 data()、methods 和 mounted 都是独立的、单独的“选项”。您需要将安装移动到方法之外,它应该是一个“兄弟”选项。 export default { data() { ... }, methods: { ... }, mounted() { this.getData(); }, }; 游乐场演示
所以我有一张垫子桌 所以我有一张垫子桌 <mat-table class="table" cdkDropList cdkDropListOrientation="horizontal" (cdkDropListDropped)="tableDrop($event)" [dataSource]="tableDataSource"> <ng-container *ngFor="let column of columns; let i = index" [matColumnDef]="column.name"> <mat-header-cell *matHeaderCellDef cdkDrag dkDragLockAxis="x" cdkDragBoundary="mat-header-row"> {{ column.title }} </mat-header-cell> <mat-cell *matCellDef="let element"> {{ element[column.name] }} </mat-cell> </ng-container> <mat-header-row class="tableHeader" *matHeaderRowDef="tableDisplayedColumns" #tableHeaderRow> </mat-header-row> <mat-row class="tableRow" *matRowDef="let row; columns: tableDisplayedColumns;" [class.selected-row]="tableSelectedRows.has(row)" (click)="selectUnselectRow(row)"> </mat-row> </mat-table> 但我需要在表标题下为相应的行过滤器添加一行。我尝试在标题和实际行声明之间添加 <mat-row> ,但是由于过滤器是不同的输入(例如数字、自动完成选择和多选),我无法 *ngFor 它们(而且我不是当然我是否能够) 编辑:忘记发布过滤器 HTML <div class="filterGroup"> <mat-form-field class="filterField"> <input matInput type="number" (keydown)="updateManualPage(1)" placeholder="Filter za param1" formControlName="filterParam1"> </mat-form-field> <mat-form-field class="filterField"> <input matInput (keydown)="updateManualPage(1)" placeholder="Filter za param2" formControlName="filterParam2" [matAutocomplete]="autoSingleSelect"> <mat-autocomplete #autoSingleSelect="matAutocomplete" class="filterSelect" panelClass="filterSelect"> <mat-option *ngFor="let option of dropdownSingleFilteredOptions | async" [value]="option.param2"> {{option.param2}} </mat-option> </mat-autocomplete> </mat-form-field> <mat-form-field class="filterField"> <mat-select class="filterMultiselect" placeholder="Filter za param3" formControlName="filterParam3" multiple panelClass="filterMultiselect"> <mat-option *ngFor="let option of tableDataSource.data" [value]="option.param3"> {{option.param3}} </mat-option> </mat-select> </mat-form-field> </div> 以及相关组件.ts tableDisplayedColumns: string[] = ['param1', 'param2', 'param3']; columns: any[] = [ { name: 'param1', title: 'Param1' }, { name: 'param2', title: 'Param2' }, { name: 'param3', title: 'Param3' } ]; 为了解决这个问题,我设法通过删除 *ngFor 并手动放入过滤器来做到这一点。 <mat-table class="table" cdkDropList cdkDropListOrientation="horizontal" (cdkDropListDropped)="tableDrop($event)" [dataSource]="tableDataSource"> <ng-container matColumnDef="param1"> <mat-header-cell *matHeaderCellDef cdkDrag cdkDragLockAxis="x" cdkDragBoundary="mat-header-row" [cdkDragStartDelay]="100"> Param1 <mat-form-field class="filterField"> <input matInput type="number" (keydown)="updateManualPage(1)" placeholder="Filter" formControlName="filterParam1"> </mat-form-field> </mat-header-cell> <mat-cell *matCellDef="let data"> <span>{{data.param1}}</span> </mat-cell> </ng-container> <ng-container matColumnDef="param2"> <mat-header-cell *matHeaderCellDef cdkDrag cdkDragLockAxis="x" cdkDragBoundary="mat-header-row" [cdkDragStartDelay]="100"> Param2 <mat-form-field class="filterField"> <input matInput (keydown)="updateManualPage(1)" placeholder="Filter" formControlName="filterParam2" [matAutocomplete]="autoSingleSelect"> <mat-autocomplete #autoSingleSelect="matAutocomplete" class="filterSelect" panelClass="filterSelect"> <mat-option *ngFor="let option of dropdownSingleFilteredOptions | async" [value]="option.param2"> {{option.param2}} </mat-option> </mat-autocomplete> </mat-form-field> </mat-header-cell> <mat-cell *matCellDef="let data"> <span>{{data.param2}}</span> </mat-cell> </ng-container> <ng-container matColumnDef="param3"> <mat-header-cell *matHeaderCellDef cdkDrag cdkDragLockAxis="x" cdkDragBoundary="mat-header-row" [cdkDragStartDelay]="100"> Param3 <mat-form-field class="filterField"> <mat-select class="filterMultiselect" placeholder="Filter" formControlName="filterParam3" multiple panelClass="filterMultiselect"> <mat-option *ngFor="let option of tableDataSource.data" [value]="option.param3"> {{option.param3}} </mat-option> </mat-select> </mat-form-field> </mat-header-cell> <mat-cell *matCellDef="let data"> <span>{{data.param3}}</span> </mat-cell> </ng-container> <mat-header-row class="tableHeader" *matHeaderRowDef="tableDisplayedColumns" #tableHeaderRow> </mat-header-row> <mat-row class="tableRow" *matRowDef="let row; columns: tableDisplayedColumns;" [class.selected-row]="tableSelectedRows.has(row)" (click)="selectUnselectRow(row)"> </mat-row> </mat-table>
我正在尝试通过springboot下的配置文件分割我的logback.xml,这是我的方法: logback-prod.xml 我正在尝试通过 springboot 下的配置文件分割我的 logback.xml,这是我的方法: logback-prod.xml <?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/defaults.xml" /> <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:- ${java.io.tmpdir:-/tmp}}/}spring.log}"/> <include resource="org/springframework/boot/logging/logback/file- appender.xml" /> <root level="INFO"> <appender-ref ref="CONSOLE" /> </root> </configuration> logback-dev.xml <?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/defaults.xml" /> <include resource="org/springframework/boot/logging/logback/console-appender.xml" /> <root level="DEBUG"> <appender-ref ref="CONSOLE" /> </root> logback.xml <?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="logback-${spring.profiles.active}.xml"/> <root level="INFO"> <appender-ref ref="FILE" /> <appender-ref ref="CONSOLE" /> </root> 最后使用: -Dspring.profiles.active=dev or -Dspring.profiles.active=prod 我进入控制台: 13:01:44,673 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@2:16 - no applicable action for [configuration], current ElementPath is [[configuration][configuration]] 13:01:44,674 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@3:81 - no applicable action for [include], current ElementPath is [[configuration][configuration][include]] 13:01:44,674 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@4:89 - no applicable action for [include], current ElementPath is [[configuration][configuration][include]] 13:01:44,674 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@6:25 - no applicable action for [root], current ElementPath is [[configuration][configuration][root]] 13:01:44,674 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@7:39 - no applicable action for [appender-ref], current ElementPath is [[configuration][configuration][root][appender-ref]] 13:01:44,675 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO Spring boot文档建议使用logback-spring.xml而不是logback.xml,并且在其中你可以使用spring配置文件标签: <configuration> <springProfile name="workspace"> ... </springProfile> <springProfile name="dev,prd"> ... </springProfile> </configuration> 如果您想为不同的配置文件使用不同的 logback 配置文件,您可以从 application-*.properties 文件中更改它。 例如,在您的application-prod.properties中,您可以说: logging.config=src/main/resources/logback-prod.xml logback.xml配置文件中的替代方式,配置的分离取决于Spring Profile,如下所示: <!-- Loggers setup according to Spring Profile--> <springProfile name="localdev"> <root level="INFO"> <appender-ref ref="STDOUT"/> <appender-ref ref="FILE"/> </root> <logger name="com.myapp" level="debug" additivity="false"> <appender-ref ref="STDOUT"/> <appender-ref ref="FILE"/> </logger> </springProfile> <springProfile name="test"> <root level="INFO"> <appender-ref ref="STDOUT"/> </root> <logger name="com.myapp" level="debug"> <appender-ref ref="STDOUT"/> </logger> </springProfile> 包含的 XML 应该具有顶部节点 included 而不是 configuration。 根据:特定于配置文件的配置 您必须用“|”符号而不是“,”逗号分隔配置文件。如下: <springProfile name="dev | staging"> <!-- configuration to be enabled when the "dev" or "staging" profiles are active --> </springProfile>